<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>

    /* 
    函数的作用域：
      1.全局作用域
        1.1 - 创建的变量都会作为window对象的属性保存
            - 创建的函数都会作为window对象的方法保存

      2.函数作用域
    
     */
     /* //全局作用域
     var a=123;
     var b="jason";
     function show(){
       console.log(b);//jason
     }
     show();
     //创建的变量都会作为window对象的属性保存
     console.log(window);
     console.log(window.a==a);//true
     console.log(window.b==b);//true
     console.log(window.a);//123
     
     
      //函数作用域
   
      function hello(){
        //局部变量
        var abc="蔡徐坤";
        //如果在函数里声明变量时，没有声明变量，那么就会自动声明为全局变量，并且进行赋值
        def="周杰伦";
      }
      //console.log(abc);//06.函数作用域.html:37 Uncaught ReferenceError: abc is not defined
      console.log(def);//周杰伦
      */
      //3.立即执行函数解决变量冲突问题
      var a=123;
      (function(){
        var a=456;//局部变量，用完就销毁
      })()
      console.log(a);//123
  </script>
</head>
<body>
  
</body>
</html>